package com.itheima.reggie.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.reggie.dto.SetmealDto;
import com.itheima.reggie.entity.Setmeal;
import com.itheima.reggie.entity.SetmealDish;

import java.util.List;

public interface SetmealService extends IService<Setmeal> {
    /**
     * 新增套餐，同时保存套餐和菜品的关联关系
     * @param setmealDto
     */
    public void saveWithDish(SetmealDto setmealDto);

    /**
     * 删除套餐，同时删除套餐和菜品的关联关系
     * @param ids
     */
    public void removeWithDish(List<Long> ids);

    /**
     * 根据 id 获取套餐和菜品关联信息
     * @param id
     * @return
     */
    public SetmealDto getByIdWithDish(Long id);

    /**
     * 更改套餐销售状态
     * @param ids
     * @param v
     */
    public void updateStatus(List<Long> ids, int v);

    /**
     * 修改套餐和菜品关联信息
     * @param setmealDto
     */
    public void updateWithDish(SetmealDto setmealDto);

    /**
     * 根据分类 id 获取套餐信息
     * @param id
     * @return
     */
    public List<Setmeal> getAllByCategoryId(Long id);

    /**
     * 根据套餐 id 获取关联菜品信息
     * @param id
     * @return
     */
    public List<SetmealDish> getBySetmealId(Long id);

}
